/** @file
 *  @brief HoG Service sample
 */

/*
 * Copyright (c) 2016 Intel Corporation
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#ifdef __cplusplus
extern "C" {
#endif


enum bthid_state {
	BTHID_STATE_UNINIT,
	BTHID_STATE_READY,
	BTHID_STATE_POWER_OFF,
	BTHID_STATE_POWER_ON,
	BTHID_STATE_IDLE,
	BTHID_STATE_DISCOVER,
	BTHID_STATE_CONNECTING,
	BTHID_STATE_CONNECTED,
	BTHID_STATE_ACTIVE,
	BTHID_STATE_MAX,
};

struct bthid {
	enum bthid_state (*get_state)(void);
	void (*set_state)(enum bthid_state state);
	void (*set_state_async)(enum bthid_state state, uint16_t delay);
};

const char *bthid_state_string(enum bthid_state state);

extern const struct bthid ble_hid;

void hog_init(void);


#ifdef __cplusplus
}
#endif
